<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>mixin混合模式</title>
</head>
<body>
    
</body>
<script>
    /*
        mixin混合模式  
    */
    
    // 一个对象上 拥有一个处理最大值的方法
    let obj = {
        max(value){  
            // 还是一个道理 这里的this并不是唯一的指向 this的指向是谁使用它 它就指向谁
            return this.data.sort((a,b)=>b[value]-a[value])[0]
        }
    }

    class lesson{
        constructor(value){
            this.les = value
        }
        get data(){
            return this.les
        }
    }
    const classes = [
        {name:'Vue.js',price:200,click:150},
        {name:'Node.js',price:180,click:230},
        {name:'Mysql',price:380,click:99}
    ]

    Object.assign(lesson.prototype,obj)
    let les = new lesson(classes)

    // 传递什么参数 就取出该参数中最值最大的数
    console.log(les.max('price'))  //取处price最高的课程   //{name: "Mysql", price: 380, click: 99}
</script>
</html>